package com.station.vo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class PurchOrder implements Serializable {
    /**
     * 记录ID<br/>
     **/
    private Long id;

    /**
     * 商家ID<br/>
     **/
    private Long vendorId;

    /**
     * 单据号<br/>
     **/
    private String orderNo;

    /**
     * 关联补货单号
     */
    private String refReplenisOrderNo;
    /**
     * 单据状态 0已保存 1待审核  2审核中，3审核通过，4已终止<br/>
     **/
    private Integer state;

    /**
     * 供应商编码<br/>
     **/
    private String supplierCode;

    /**
     * 供应商名称<br/>
     **/
    private String supplierName;

    /**
     * 机构编码<br/>
     **/
    private String organCode;

    /**
     * 机构名称<br/>
     **/
    private String organName;

    /**
     * 门店编码<br/>
     **/
    private String storeCode;

    /**
     * 门店名称<br/>
     **/
    private String storeName;

    /**
     * 付款日期<br/>
     **/
    private Date payDate;

    /**
     * 交货日期<br/>
     **/
    private Date deliveryDate;

    /**
     * 定金<br/>
     **/
    private Double earnest;

    /**
     * 采购员<br/>
     **/
    private String buyer;

    /**
     * 已付金额<br/>
     **/
    private Double payedMoney;

    /**
     * 未付金额<br/>
     **/
    private Double unPayMoney;

    /**
     * 赠送金额<br/>
     **/
    private Double preMoney;

    /**
     * 结算金额<br/>
     **/
    private Double payAmount;

    /**
     * 最近付款日期<br/>
     **/
    private Date lastPayDate;

    /**
     * 优惠金额
     */
    private Double disAmount;

    /**
     * 单据总额<br/>
     **/
    private Double orderAmount;

    /**
     * 补货单实际审批金额<br/>
     **/
    private Double deliverAmount;

    /**
     * 最后审批人<br/>
     **/
    private String finalApprover;

    /**
     * 最后审批时间<br/>
     **/
    private Date finalApproveTime;

    /**
     * 单据类型 0收货单 1退货单<br/>
     **/
    private Integer orderType;

    /**
     * 采购收货方式 1按单收货 2集中收货 3后续扩展<br/>
     **/
    private Integer receiptType;

    /**
     * 关联单号<br/>
     **/
    private String refOrderNo;

    /**
     * 数据版本<br/>
     **/
    private Integer version;

    /**
     * 是否已删除1删除 0正常<br/>
     **/
    private Integer df;

    /**
     * 创建人<br/>
     **/
    private String creator;

    /**
     * 最后修改人<br/>
     **/
    private String updateMan;

    /**
     * 创建日期<br/>
     **/
    private Date createDate;

    /**
     * 修改日期<br/>
     **/
    private Date modifyDate;

    /**
     * 单据日期
     */
    private Date bizDate;

    /**
     * 备注<br/>
     **/
    private String memo;

    /**
     * 缺货/少货备注<br/>
     **/
    private String brokenMemo;

    /**
     * 结算标识 0未结算 1已结算<br/>
     **/
    private Integer settleFlag;

    /**
     * 单据总数量<br/>
     **/
    private Double orderAcount;

    /**
     * 单据总品种数<br/>
     **/
    private Integer orderKinds;
    /**
     * 供应商是否已确认
     */
    private Integer supDeal;

    /**
     * 预计到货日期
     */
    private Date expectedArrDate;
    /**
     * 是否被引用
     */
    private Integer refFlag;
    /**
     * 单据月份
     */
    private Integer bizMonth;
    /**
     * 对账标记:是否被供应商对账单引用
     * 1已对账  0未对账'
     */
    private Integer isRecon;
    /**
     * 单据是否锁定 0 未锁定 1 已锁定
     */
    private Integer locked;

    private Integer finalStatus;//结算状态  0未结算 1部分结算 2已结算

    private String inStoreCode;//收货仓库/门店编码
    private String inStoreName;//收货仓库/门店名称
    private String outStoreCode;//越库仓库/门店编码
    private String outStoreName;//越库仓库/门店名称
    private String outOrganCode;//越库机构编码
    private String outOrganName;//越库机构名称
    private String LeadPlace;//交货地点
    private Integer orderState;//订单状态  1，未收货 2，已收货 3，部分收货 4，已失效
    private Double noTaxPrice;//税后金额
    private Double presentNum;//赠送数量
    private String approveOpinion;//审批意见
    private Integer deliveryType; //订单类型    1 直通 2 自采 3 直配
    private Integer storeDeliveryType; //门店订单类型    1 直通 2 自采 3 直配
    private String dealNo; //关联的处理单单号
    private String sysmemo;
    private Date balanceDate;//月结存日期
    private Integer isReview; //是否核票
    private Date reviewTime; //核票时间
    private Integer isPost; //是否过账
    private Date postTime; //过账时间
    private Integer cited;//采购订单是否被引用过
    private String refDirectNo;//关联直送单
    private Integer uniformstore;//是否使用统一库位
    private Integer area;//使用统一库位时 选择的 0 暂存区 1 存储区
    private String storageCode; //使用统一库位时 的货位编号
    private String storageName;//使用统一库位时 的货位名称
    private String cneeUserName;//收货人登录名
    private String cneeRealName;//收货人姓名
    private Integer receiveState;//收货状态 0待收货 1收货中 2收货完成
    private Date receiveStartTime;//开始收货时间
    private Date receiveEndTime;//结束收货时间
    private Integer source;//数据来源
    private Integer synToFinance;//同步到财务
    private Integer printCount;//打印次数
    private String dataKey;//数据唯一标识码，主要用于第三方对接存储第三方数据标识

    //冗余字段
    private List<PurchDetail> detailList; //订单明细
    private String orderTypeName; //订单类型（名称）
    private String settleFlagName;//结算标识（名称）
    private String queryOrderState;//查询指定状态的单据（使用in查询）
    private String queryOrderStateArr[];//查询指定状态的单据（与queryOrderState联合使用）
    private String oldRefOrderNo;//冗余之前关联单号
    private String skuCode;//sku编码查询条件
    private String skuName;
    private String barcode;//国际条码查询条件
    private Integer noEqSettle;//结算标识查询条件 不等于
    private Integer permitDel;//0 不允许删除 1允许删除
    private String settleOrderNo;//关联结算单号
    private Date startTimeDate; //开始时间
    private Date endTimeDate;//结束时间
    private Date jzDateStart;//记账开始日期
    private Date jzDateEnd;//记账结束日期
    private String quickDate;//日期快速查询
    private String multiCondition;//OR查询条件
    private String[] receiveStateArr;//指定多个收货状态查询
    private String sortBy; //排序字段
    private String sortType;//排序方式 升序、降序
    private Integer emerOrder;//是否有权限紧急订货
    private Integer dateType; // 0 审核时间 1 单据日期
    private Map searchMap;//查询条件map
    private Double totalQuantity;//收货数量
    private Double wgQuantity;//上架数量
    private String wqTypeView;//上架状态
    private Integer wqType;//上架状态 0已上架 1未上架 2部分上架
    private Double wqMoney;//上架商品金额
    private String wqPerson;//上架人
    private Date wqDate;//上架日期
    private String wqDateView;//上架日期
    private Double pdaQuantity;//手持上架数量
    private Double pcQuantity;//后台上架数量
    private String modifyDateVo;//修改日期
    private Integer putawayReportType;//上架报表类型 1-单据汇总 2-上架人汇总 3-上架明细
    private String bizType;
    //导出显示专用字段
    private String finalApproveTimeVO;//最后审批时间
    private String expectedArrDateVO;//送货期限
    private String bizDateVO;//单据时间
    private String stateVO;//单据状态
    private String deliveryTypeVO;//配送方式
    private String orderStateVO;//订单状态
    //-----------（打印专用）-----------
    private String supplierMobile; //供应商电话
    private String supplierFax; //供应商传真
    private String tel;//供应商固定电话
    private String cellPhone;//供应商手机
    private Integer printTimes;//打印次数
    private String storeTel;//订货固定电话
    private String storeCellPhone;//订货手机
    private String lastQuery; //查询条件
    private String op;//标识 这里用来标识是从采购订单获取单据详情，还是供应商采购订单处理获取详情，采购订单处理，已审核的需要操作数据，数据需放入缓存

    private Double diffAmount;//差异金额(用于加盟店的收货差异)

    private List<String> subOrganCodes; // 下属机构
    private List<String> vendorStoreGpStoreList;//用户权限：店组用户下所有门店编码
    /********** 不与数据库交互的字段 begin ***********/
    private String username; // context.getPin();
    /********** 不与数据库交互的字段 end ***********/

    private Integer start;      // 用于分页查询：getAllPurchOrderListByApproveDate
    private Integer length;     // 用于分页查询：getAllPurchOrderListByApproveDate
    /**
     * 安卓端UUID，用于区分重复上传问题
     */
    private String adrId;
    /**
     * 是否已进行返利计算 0 未进行返利计算   1 已进行返利计算  -> purchorder.isRebate
     */
    private Byte isRebate;

    private Integer days;

    private Double quantity;//pda收货上架单据总数量
    private Double stock;//pda收货上架单据总待上架数量

    private String title;//打印标题

    private String refWmsOrderNo;//wms方的单据号

    private String queryParam; //零售管家未引用单据查询

    private String queryOrderNo; //采购订单、收货单号模糊查询

    private List<String> storeCodeList;//门店编码集合

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table purchorder
     *
     * @mbggenerated Sun May 03 16:26:38 CST 2015
     */
    private static final long serialVersionUID = 1L;


    private AdvancePay advancePay;
}

